import tensorflow as tf
import numpy as np 
import matplotlib.pyplot as plt 

#标量：单个的实数，如 1，2, 3 等，维度数为 0，shape 为[ ]

#向量：𝑛个实数的有序集合，通过中括号包裹，如[1,2]，[2,3,4]等，维度数为1，长度不定，shape 为[𝑛]

#矩阵：𝑛行𝑚列实数的有序集合，如[[1,2],[3,4]]，每个维度上的长度不定，shape 为[𝑛, 𝑚]

#张量：所有维度数 > 2的数组统称为张量。张量的每个维度也作轴(Axis)， 一般维度代表了具体的物理含义，其具体物理含义需要由用户自行定义。


#  在TensorFlow中，为了表达方便，一般把标量、向量、矩阵也统称为张量，不作区分，需要根据张量的维度数或形状自行判断
                        
a=tf.constant(1.2)
print('标量的创建\n',a)
print('-----------------')

b=tf.constant([1,2,3])
print('3个元素的向量\n',b)
print('-----------------')


c=tf.constant([[1,2],[3,4]])
print('2行2 的矩阵\n',c)
print('-----------------')

d=tf.constant([[[1,2],[3,4]],[[5,6],[7,8]]])
print('3维张量\n',d)
print('-----------------')

dd=tf.constant([[[1,1,1],[2,2,2],[3,3,3]],[[4,4,4],[5,5,5],[6,6,6]],[[7,7,7],[8,8,8],[9,9,9]]])
print('3维张量\n',dd)
print('-----------------')

ddd=tf.fill([3,3,1],9)
print('3维张量\n',ddd)
print('-----------------')


x=tf.random.normal([4,12,12,3])
print('3维张量\n',x)


a = 2
b = 3

add_result = a +b
mul_result = a * b
print("add",add_result)
print("mul",mul_result)